home *** CD-ROM | disk | FTP | other *** search
-
- (
- ( GUI Example
- (
-
- ?& EXAMPLE_GUI NOT ?IF
- 1 CONSTANT EXAMPLE_GUI
-
- "ui.rpl" LOAD
-
- ( Variables
-
- VARIABLE exaWindow
- VARIABLE exaLoad
- VARIABLE exaCancel
- VARIABLE exaCheckBox
- VARIABLE exaSlider
- VARIABLE exaMx
- VARIABLE exaString
- VARIABLE exaText
- VARIABLE exaText2
- VARIABLE exaText3
-
- 100 STRING sBuf
-
- ( this prints given string to aText2 gadget
-
- : PrintMsg
- UI_Done SWAP UITX_Text exaText2 FETCH UI_SETATTRS
- ;
-
-
- ( Callbacks for Gadgets
-
- : excbLoad
- 100 STRING sValue
- 100 STRING sBuffer
-
- UI_Done sValue UIST_String exaString FETCH UI_GETATTRS
-
- sValue "Loading %s" sBuffer SPRINTF
- sBuffer PrintMsg
- ;
-
- : excbCheck
- IF
- UI_Done 1 UI_Disabled exaSlider FETCH UI_SETATTRS
- UI_Done 1 UI_Disabled exaMx FETCH UI_SETATTRS
- UI_Done 1 UI_Disabled exaString FETCH UI_SETATTRS
- UI_Done 1 UI_Disabled exaLoad FETCH UI_SETATTRS
- ELSE
- UI_Done 0 UI_Disabled exaSlider FETCH UI_SETATTRS
- UI_Done 0 UI_Disabled exaMx FETCH UI_SETATTRS
- UI_Done 0 UI_Disabled exaString FETCH UI_SETATTRS
- UI_Done 0 UI_Disabled exaLoad FETCH UI_SETATTRS
- ENDIF
- ;
-
- : excbSlider
- "Slider %d" sBuf SPRINTF
- sBuf PrintMsg
- ;
-
- : excbMx
- "Mutual Exclude %d" sBuf SPRINTF
- sBuf PrintMsg
- ;
-
- : excbString
- PrintMsg
- ;
-
- : excbCancel
- exaWindow FETCH UI_DELETE
- FALSE exaWindow STORE
- ;
-
- ( Callback for Window
-
- : excbWindow
- PARAM
- VARIABLE iMouseY
- VARIABLE iMouseX
- VARIABLE iEvent
- ENDPARAM
-
- UIWM_Move iEvent FETCH = IF
- iMouseY FETCH iMouseX FETCH "Mouse moved to %ld %ld" sBuf SPRINTF
- UI_Done sBuf UITX_Text exaText3 FETCH UI_SETATTRS
- ENDIF
-
- UIWM_LMBDown iEvent FETCH = IF
- "Mouse button clicked" sBuf CPY
- UI_Done sBuf UITX_Text exaText3 FETCH UI_SETATTRS
- ENDIF
-
- UIWM_LMBUp iEvent FETCH = IF
- "Mouse button released" sBuf CPY
- UI_Done sBuf UITX_Text exaText3 FETCH UI_SETATTRS
- ENDIF
-
- UIWM_Close iEvent FETCH = IF
- exaWindow FETCH UI_DELETE
- FALSE exaWindow STORE
- ENDIF
- ;
-
- ?ENDIF ( EXAMPLE_GUI
-
- (
- ( Create display elements
- (
-
- exaWindow FETCH
- ?IF
- "Understood" "Window already opened" GET_KEY DROP
- ?ELSE
-
- ( Open a window
-
- UI_Done & excbWindow 0 0 400 200 "RPL Example Window" UI_WINDOW exaWindow STORE
-
- ( create a read-only text
-
- UI_Done
- "RPL gadgets" UITX_Text
- exaWindow FETCH 0 150 15 100 12 "Header Text:" UI_TEXT exaText STORE
-
- ( create a check box
-
- UI_Done
- 0 UICB_Checked
- exaWindow FETCH & excbCheck 100 30 50 12 "Check Box" UI_CHECKBOX exaCheckBox STORE
-
- ( create a string gadget
-
- UI_Done
- "spline" UIST_String
- exaWindow FETCH & excbString 100 45 150 12 "String" UI_STRING exaString STORE
-
- ( create a slider gadget
-
- UI_Done
- 0 UISL_Min
- 100 UISL_Max
- 20 UISL_Level
- exaWindow FETCH & excbSlider 100 60 50 12 "Slider" UI_SLIDER exaSlider STORE
-
- ( create a mutual exlude gadget
-
- 5 PARRAY exaLabels
-
- ( initialize string pointer array
- 0 "Choice 4" "Choice 3" "Choice 2" "Choice 1" exaLabels PINIT
-
- UI_Done
- 2 UIMX_Active
- exaLabels UIMX_Labels
- exaWindow FETCH & excbMx 100 75 150 12 "Mx" UI_MX exaMx STORE
-
- ( This text gadget shows gadget events
-
- UI_Done
- "Welcome to RPL" UITX_Text
- 1 UITX_Border
- exaWindow FETCH 0 100 105 150 12 "Gadget:" UI_TEXT exaText2 STORE
-
- ( window events are printed here
-
- UI_Done
- "This is cool" UITX_Text
- 1 UITX_Border
- exaWindow FETCH 0 100 130 250 12 "Info:" UI_TEXT exaText3 STORE
-
- ( create button gadgets
-
- UI_Done
- exaWindow FETCH & excbLoad 20 150 150 12 "Load" UI_BUTTON exaLoad STORE
-
- UI_Done
- exaWindow FETCH & excbCancel 200 150 150 12 "Cancel" UI_BUTTON exaCancel STORE
-
- ( realize gadgets
- exaWindow FETCH UI_REALIZE
-
- ?ENDIF ( exaGuiCreated
-